//package com.lock.activitys
//
//import android.annotation.SuppressLint
//import android.app.Activity
//import android.bluetooth.BluetoothGatt
//import android.graphics.Color
//import android.os.Bundle
//import android.util.Log
//import android.view.MenuItem
//import android.view.View
//import android.widget.*
//import com.activitys.ActionBarActivity
//import com.alibaba.android.arouter.facade.annotation.Autowired
//import com.alibaba.android.arouter.facade.annotation.Route
//import com.alibaba.android.arouter.launcher.ARouter
//import com.clj.fastble.data.BleDevice
//import com.clj.fastble.exception.BleException
//import com.fileutils.BaseConstant
//import com.google.gson.Gson
//import com.xingjibase.bean.LockMesBean
//import com.lock.utils.BleProfile
//import com.lock.utils.LockBleUtils
//import com.lock.R
//import kotlinx.android.synthetic.main.activity_lock.*
//import kotlinx.android.synthetic.main.activity_lock_light.*
//import kotlinx.android.synthetic.main.activity_lock_option.*
//
//
//@Route(path = BaseConstant.PARKLOCKACTIVITY)
//class BleTestActivity : ActionBarActivity(), LockBleUtils.Companion.BleConnectIml {
//    @Autowired(name = BaseConstant.DATA_TAG)
//    @JvmField
//    var mBleBeanStr: String = ""
//    private var mAuthStatus = false
//
//    private var mActivity: Activity? = null
//    private var mBleMsgValue: LockMesBean? = null
//    private var mAuthBu: Button? = null
//    private var mUpbu: Button? = null
//    private var mStatus: Button? = null
//    private var mDownBu: Button? = null
//    private var mReadBu: Button? = null
//    private var mOpenLightBu: Button? = null
//    private var mCloseLightBu: Button? = null
//    private var mBleDevice: BleDevice? = null
//
//    override fun onCreate(savedInstanceState: Bundle?) {
//        super.onCreate(savedInstanceState)
//        setContentView(R.layout.activity_lock)
//        ARouter.getInstance().inject(this)
//
//        mActivity = this
//        mBleMsgValue = Gson().fromJson(mBleBeanStr, LockMesBean::class.java)
//        setActionBar()
//        initView()
//
//        LockBleUtils.connect(this, this, mBleMsgValue?.mac)
//    }
//
//    /**
//     * 标题栏设置
//     */
//    private fun setActionBar() {
//        showSystemBack(true)
//        rightItemMenu(R.menu.right_menu_layout)
//    }
//
//    /**
//     * 事件处理
//     */
//    private var mOnclickIml: View.OnClickListener = View.OnClickListener { v ->
//        when ((v as Button).text) {
//            BleProfile.AUTH_TAG -> {
//                if (checkStatus(1) == 1) {
//                    LockBleUtils.authBle(mBleDevice, mBleMsgValue, mOrderIml)
//                }
//            }
//            BleProfile.STATUS_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.readLockStatus(mBleDevice, mBleMsgValue, mOrderIml)
//                }
//            }
//            BleProfile.UP_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.lockUpDown(mBleDevice, mBleMsgValue, 1, mOrderIml)
//                }
//            }
//            BleProfile.DOWN_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.lockUpDown(mBleDevice, mBleMsgValue, 2, mOrderIml)
//                }
//            }
//            BleProfile.BEE_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.beeVoice(mBleDevice, mBleMsgValue, mOrderIml)
//                }
//            }
//            BleProfile.OLIGHT_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.lightControl(mBleDevice, mBleMsgValue, 1, mOrderIml)
//                }
//            }
//            BleProfile.CLIGHT_TAG -> {
//                if (checkStatus(2) == 2) {
//                    LockBleUtils.lightControl(mBleDevice, mBleMsgValue, 2, mOrderIml)
//                }
//            }
//            else -> {
//                Log.d("TAG", "tag")
//            }
//        }
//    }
//
//    /**
//     * 鉴权状态判断
//     */
//    private fun checkStatus(show: Int): Int {
//        if (mBleDevice != null) {        //判断蓝牙连接状态
//            if (!mAuthStatus) {          //判断鉴权状态
//                if (show == 2) {
//                    Toast.makeText(mActivity, "请先鉴权", Toast.LENGTH_SHORT).show()
//                }
//                return 1
//            } else {
//                if (show == 1) {
//                    Toast.makeText(mActivity, "已鉴权，无需重复鉴权", Toast.LENGTH_SHORT).show()
//                }
//                return 2
//            }
//        } else {
//            Toast.makeText(mActivity, "蓝牙未连接", Toast.LENGTH_SHORT).show()
//            return 0
//        }
//    }
//
//    /**
//     * 鉴权回调
//     */
//    private var mOrderIml = object : LockBleUtils.Companion.BleOrderIml {
//        override fun success(where: String, data: String?) {
//            when (where) {
//                BleProfile.AUTH_TAG -> {
//                    mAuthStatus = true
//                    Toast.makeText(mActivity, data, Toast.LENGTH_SHORT).show()
//                }
//                BleProfile.STATUS_TAG -> {
//                    status_view_tv.text = data
//                    status_view_tv.setTextColor(Color.GREEN)
//                }
//                BleProfile.UP_TAG -> {
//                    if (data == "500") {
//                        Toast.makeText(mActivity, "已升锁", Toast.LENGTH_SHORT).show()
//                    } else {
//                        Toast.makeText(mActivity, data, Toast.LENGTH_SHORT).show()
//                    }
//                }
//                BleProfile.DOWN_TAG -> {
//                    if (data == "500") {
//                        Toast.makeText(mActivity, "已降锁", Toast.LENGTH_SHORT).show()
//                    } else {
//                        Toast.makeText(mActivity, data, Toast.LENGTH_SHORT).show()
//                    }
//                }
//                BleProfile.BEE_TAG -> {
//                    Toast.makeText(mActivity, data, Toast.LENGTH_SHORT).show()
//                }
//            }
//        }
//
//        override fun fail(where: String, exception: String?) {
//            when (where) {
//                BleProfile.AUTH_TAG -> {
//                    mAuthStatus = false
//                    Toast.makeText(mActivity, "鉴权失败：$exception", Toast.LENGTH_SHORT).show()
//                }
//                BleProfile.STATUS_TAG -> {
//                    Toast.makeText(mActivity, "获取状态失败", Toast.LENGTH_SHORT).show()
//                }
//                BleProfile.UP_TAG -> {
//                    Toast.makeText(mActivity, "升锁失败", Toast.LENGTH_SHORT).show()
//                }
//                BleProfile.DOWN_TAG -> {
//                    Toast.makeText(mActivity, "降锁失败", Toast.LENGTH_SHORT).show()
//                }
//                BleProfile.BEE_TAG -> {
//                    Toast.makeText(mActivity, "蜂鸣失败", Toast.LENGTH_SHORT).show()
//                }
//            }
//        }
//    }
//
//    /**
//     * 初始化布局
//     * 洛可可地锁
//     */
//    private fun initView() {
//        seekBarChangeValue(red_text_view, red_seek_bar_view)
//        seekBarChangeValue(green_text_view, green_seek_bar_view)
//        seekBarChangeValue(blue_text_view, blue_seek_bar_view)
//        seekBarChangeValue(max_text_view, max_seek_bar_view)
//        seekBarChangeValue(min_text_view, min_seek_bar_view)
//        seekBarChangeValue(change_text_view, change_seek_bar_view)
//        seekBarChangeValue(change_dark_text_view, change_dark_bar_view)
//        seekBarChangeValue(open_delay_text_view, open_delay_seek_view)
//        seekBarChangeValue(close_delay_text_view, close_delay_bar_view)
//        seekBarChangeValue(loop_count_text_view, loop_count_seek_view)
//        seekBarChangeValue(open_voice_text_view, open_voice_seek_view)
//        seekBarChangeValue(close_voice_text_view, close_voice_seek_view)
//
//        mAuthBu = auth_view.findViewById(R.id.click_bu_view)
//        mStatus = status_view.findViewById(R.id.click_bu_view)
//        mUpbu = up_view.findViewById(R.id.click_bu_view)
//        mDownBu = down_view.findViewById(R.id.click_bu_view)
//        mReadBu = read_view.findViewById(R.id.click_bu_view)
//        mOpenLightBu = open_light_view.findViewById(R.id.click_bu_view)
//        mCloseLightBu = close_light_view.findViewById(R.id.click_bu_view)
//
//        checkBuReset(auth_view)
//        checkBuReset(status_view)
//        checkBuReset(up_view)
//        checkBuReset(down_view)
//        checkBuReset(read_view)
//        checkBuReset(open_light_view)
//        checkBuReset(close_light_view)
//
//        mAuthBu?.text = BleProfile.AUTH_TAG
//        mStatus?.text = BleProfile.STATUS_TAG
//        mUpbu?.text = BleProfile.UP_TAG
//        mDownBu?.text = BleProfile.DOWN_TAG
//        mReadBu?.text = BleProfile.BEE_TAG
//        mOpenLightBu?.text = BleProfile.OLIGHT_TAG
//        mCloseLightBu?.text = BleProfile.CLIGHT_TAG
//
//        mAuthBu?.setOnClickListener(mOnclickIml)
//        mStatus?.setOnClickListener(mOnclickIml)
//        mUpbu?.setOnClickListener(mOnclickIml)
//        mDownBu?.setOnClickListener(mOnclickIml)
//        mReadBu?.setOnClickListener(mOnclickIml)
//        mOpenLightBu?.setOnClickListener(mOnclickIml)
//        mCloseLightBu?.setOnClickListener(mOnclickIml)
//        lockVersionToDD()
//    }
//
//    /**
//     * 丁丁地锁
//     */
//    private fun lockVersionToDD() {
//        if (mBleMsgValue?.model?.name.toString() == LOCK_VERSION_DD) {
//            mAuthStatus = true                          //默认已鉴权
//            layout_lock_light_view.visibility = View.GONE
//            auth_view?.visibility = View.GONE
//            open_light_view?.visibility = View.GONE
//            close_light_view?.visibility = View.GONE
//        }
//    }
//
//    /**
//     * 单选框状态设置
//     */
//    private fun checkBuReset(parent: View) {
//        val mPassBu: CheckBox = parent.findViewById(R.id.pass_check_bu)
//        val mNoPassBu: CheckBox = parent.findViewById(R.id.no_pass_check_bu)
//        mPassBu.setOnCheckedChangeListener { _, isChecked ->
//            mNoPassBu.isChecked = false
//            if (isChecked) {
//                parent.tag = 1
//            } else {
//                parent.tag = null
//            }
//        }
//        mNoPassBu.setOnCheckedChangeListener { _, isChecked ->
//            mPassBu.isChecked = false
//            if (isChecked) {
//                parent.tag = 2
//            } else {
//                parent.tag = null
//            }
//        }
//    }
//
//    /**
//     * seekBar拖动事件
//     */
//    @SuppressLint("SetTextI18n")
//    private fun seekBarChangeValue(seekValue: TextView, seekBar: SeekBar) {
//        seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
//            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
//                seekValue.text = "" + progress
//            }
//
//            override fun onStartTrackingTouch(seekBar: SeekBar?) {}
//            override fun onStopTrackingTouch(seekBar: SeekBar?) {}
//        })
//    }
//
//    /**
//     * 蓝牙连接成功
//     * connect 方法回调
//     */
//    override fun connectSuccess(bleDevice: BleDevice, gatt: BluetoothGatt, status: Int) {
//        status_view_tv.text = "已连接"
//        mBleDevice = bleDevice
//        status_view_tv.setTextColor(Color.GREEN)
//    }
//
//    /**
//     * 右侧菜单
//     * 提交事件处理
//     */
//    override fun onOptionsItemSelected(item: MenuItem): Boolean {
//        if (item.itemId == R.id.action_put) {
//            if (mBleMsgValue?.model?.name.toString() == LOCK_VERSION_DD) {
//                if (status_view.tag != null && up_view.tag != null && down_view.tag != null && read_view.tag != null) {
//                    Toast.makeText(mActivity, "提交成功", Toast.LENGTH_SHORT).show()
//                    finish()
//                } else {
//                    Toast.makeText(mActivity, "存在未完成测试项", Toast.LENGTH_SHORT).show()
//                }
//            } else {
//                if (status_view.tag != null && up_view.tag != null && down_view.tag != null && read_view.tag != null
//                    && auth_view.tag != null && open_light_view.tag != null && close_light_view.tag != null
//                ) {
//                    Toast.makeText(mActivity, "提交成功", Toast.LENGTH_SHORT).show()
//                    finish()
//                } else {
//                    Toast.makeText(mActivity, "存在未完成测试项", Toast.LENGTH_SHORT).show()
//                }
//            }
//        }
//        return super.onOptionsItemSelected(item)
//    }
//
//    /**
//     * 蓝牙断开连接
//     * connect 方法回调
//     */
//    override fun onDisConnected(isActiveDisConnected: Boolean, bleDevice: BleDevice, gatt: BluetoothGatt, status: Int) {
//        status_view_tv.text = "已断开连接"
//        mBleDevice = null
//        status_view_tv.setTextColor(Color.RED)
//        LockBleUtils.connect(this, mActivity, mBleMsgValue?.mac)
//    }
//
//    override fun onStartConnect() {}
//    override fun onConnectFail(bleDevice: BleDevice, exception: BleException) {
//        status_view_tv.text = "连接失败：" + exception.description.toString()
//        mBleDevice = null
//        status_view_tv.setTextColor(Color.RED)
//        LockBleUtils.connect(this, mActivity, mBleMsgValue?.mac)
//    }
//
//    override fun finish() {
//        super.finish()
//        LockBleUtils.disConnect(mBleDevice)
//    }
//}